from datetime import datetime
from typing import Literal, Optional

from pydantic import BaseModel, ConfigDict, Field
from pydantic.alias_generators import to_camel

from config.database import BaseMixin


class GoofishClientModel(BaseModel, BaseMixin):
    model_config = ConfigDict(alias_generator=to_camel, from_attributes=True)

    client_id: Optional[int] = Field(default=None, description='id')
    client_name: Optional[str] = Field(default=None, description='名称')
    client_type: Optional[Literal['0', '1', '2']] = Field(default=None, description='0搜索，1下单')
    status: Optional[str] = Field(default=None, description='状态')
    description: Optional[str] = Field(default=None, description='描述')
    update_by: Optional[int] = Field(default=None, description='更新者')